package ru.spb.osll.myfit.client.service;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import ru.spb.osll.myfit.common.ExecutingResult;
import ru.spb.osll.myfit.common.PageExecutingResult;
import ru.spb.osll.myfit.common.SuiteExecutingResult;

import java.util.List;
import java.util.Map;
import java.util.Set;

@RemoteServiceRelativePath("suiteExecution")
public interface SuiteExecutingService extends RemoteService {
  SuiteExecutingResult executeSuite(String id, Map<String, String> metadata);

  SuiteExecutingResult getExecutingResult(String id);

  Set<? extends ExecutingResult> getSuiteResults(String resultId);
  
  Set<? extends ExecutingResult> getSuiteResultsHeaders();

  List<PageExecutingResult> getPageExecutingResults(String suiteResultId);
}
